<?php
class ModelDelimanPhieugiaobao extends Model 
{
	public function getList($where = "")
	{
		$query = $this->db->query("Select `dlm_phieugiaobao`.* from `dlm_phieugiaobao` where trangthai <> 'deleted' ".$where);
		return $query->rows;
	}
	
	public function getItem($phieugiaobaoid)
	{
		$query = $this->db->query("Select * from `dlm_phieugiaobao` where phieugiaobaoid = '".$phieugiaobaoid."'");
		return $query->row;
	}
	
	private function createMaPhieu($prefix)
	{
		//return $this->db->getNextIdVarChar("ben_thuchi","sophieu",$prefix);	
		
		$mun = $this->db->getNextIdVarCharNumber("dlm_phieugiaobao","maphieugiaobao",$prefix);
		return $this->string->numberToString($mun,3).$prefix;
	}
	
	public function insert($data)
	{
		$phieugiaobaoid=$this->db->escape(@$data['phieugiaobaoid']);
		if($data['prefix'] == "")
			$maphieugiaobao=$this->db->escape(@$data['maphieugiaobao']);
		else
			$maphieugiaobao=$this->createMaPhieu($data['prefix']);
		$khuvucgiaoid = $this->db->escape(@$data['khuvucgiaoid']);
		$nhanvienquanlyid=$this->user->getNhanVien('nhanvienid');
		$masonhanvienquanly=$this->user->getNhanVien('masonhanvien');
		$tennhanvienquanly=$this->user->getNhanVien('hoten');
		$nhanviengiaobaoid=$this->db->escape(@$data['nhanviengiaobaoid']);
		$masonhanviengiaobao=$this->db->escape(@$data['masonhanviengiaobao']);
		$tennhanviengiaobao=$this->db->escape(@$data['tennhanviengiaobao']);
		$ngaylap=$this->db->escape(@$data['ngaylap']);
		$ghichu=$this->db->escape(@$data['ghichu']);
		$data['tongsoluonggiao'] = $this->string->toNumber($data['tongsoluonggiao']);
		$tongsoluonggiao = $data['tongsoluonggiao'];
				
		$field=array(
						
						'maphieugiaobao',
						'khuvucgiaoid',
						'nhanvienquanlyid',
						'masonhanvienquanly',
						'tennhanvienquanly',
						'nhanviengiaobaoid',
						'masonhanviengiaobao',
						'tennhanviengiaobao',
						'ngaylap',
						'ghichu',
						'tongsoluonggiao'
					);
		$value=array(
						
						$maphieugiaobao,
						$khuvucgiaoid,
						$nhanvienquanlyid,
						$masonhanvienquanly,
						$tennhanvienquanly,
						$nhanviengiaobaoid,
						$masonhanviengiaobao,
						$tennhanviengiaobao,
						$ngaylap,
						$ghichu,
						$tongsoluonggiao
					);
		$this->db->insertData("dlm_phieugiaobao",$field,$value);
		$getLastId = $this->db->getLastId();
		
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Lập phiếu giao báo",
							'hanhdong'=>"Thêm mới phiếu",
							'csdl'=>"dlm_phieugiaobao[".$getLastId."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten'),
							'truongdulieu'=>"phieugiaobaoid",
							'dulieucu'=>"",
							'dulieumoi'=>$getLastId
							);
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
		
		return $getLastId;
	}
	
	public function update($data)
	{
		$phieugiaobao['phieugiaobaoid']=$this->db->escape(@$data['phieugiaobaoid']);
		$phieugiaobao['maphieugiaobao']=$this->db->escape(@$data['maphieugiaobao']);
		$phieugiaobao['khuvucgiaoid']=$this->db->escape(@$data['khuvucgiaoid']);
		$phieugiaobao['nhanvienquanlyid']=$this->db->escape(@$data['nhanvienquanlyid']);
		$phieugiaobao['masonhanvienquanly']=$this->db->escape(@$data['masonhanvienquanly']);
		$phieugiaobao['tennhanvienquanly']=$this->db->escape(@$data['tennhanvienquanly']);
		$phieugiaobao['nhanviengiaobaoid']=$this->db->escape(@$data['nhanviengiaobaoid']);
		$phieugiaobao['masonhanviengiaobao']=$this->db->escape(@$data['masonhanviengiaobao']);
		$phieugiaobao['tennhanviengiaobao']=$this->db->escape(@$data['tennhanviengiaobao']);
		$phieugiaobao['ngaylap']=$this->db->escape(@$data['ngaylap']);
		$phieugiaobao['ghichu']=$this->db->escape(@$data['ghichu']);
		$phieugiaobao['tongsoluonggiao'] = $this->string->toNumber($data['tongsoluonggiao']);
				
		$field=array(
						
						'nhanvienquanlyid',
						//'masonhanvienquanly',
						//'tennhanvienquanly',
						'khuvucgiaoid',
						'nhanviengiaobaoid',
						'masonhanviengiaobao',
						'tennhanviengiaobao',
						'ngaylap',
						'ghichu',
						'tongsoluonggiao'
					);
		$value=array(
						
						$phieugiaobao['nhanvienquanlyid'],
						//$phieugiaobao['masonhanvienquanly'],
						//$phieugiaobao['tennhanvienquanly'],
						$phieugiaobao['khuvucgiaoid'],
						$phieugiaobao['nhanviengiaobaoid'],
						$phieugiaobao['masonhanviengiaobao'],
						$phieugiaobao['tennhanviengiaobao'],
						$phieugiaobao['ngaylap'],
						$phieugiaobao['ghichu'],
						$phieugiaobao['tongsoluonggiao']
					);
					
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht_1 = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Lập phiếu giao báo",
							'hanhdong'=>"Sửa thông tin phiếu",
							'csdl'=>"dlm_phieugiaobao[".$phieugiaobao['phieugiaobaoid']."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten')
							);
		$phieugiaobao_cu = $this->getItem($phieugiaobao['phieugiaobaoid']);
		foreach($phieugiaobao as $key=>$dulieumoi)
		{	
			if(trim($key) == trim("ngaylap"))
			{
				$dulieumoi = $this->date->formatMySQLDate($dulieumoi);
				$phieugiaobao_cu[$key] = $this->date->formatMySQLDate($phieugiaobao_cu[$key]);						 
			}
			if(trim($phieugiaobao_cu[$key]) != trim($dulieumoi))
			{
				$nkht = array();
				$nkht_2 = array(
								'truongdulieu'=>"'".$key."'",
								'dulieucu'=>"'".$phieugiaobao_cu[$key]."'",
								'dulieumoi'=>"'".$dulieumoi."'",
								);
				$nkht = array_merge($nkht_1, $nkht_2);
				$this->load->model('deliman/nhatkyhethong');
				$this->model_deliman_nhatkyhethong->insert($nkht);	
			}
		}
		//Ghi nhật ký hệ thống: kết thúc
					
		$where="phieugiaobaoid = '".$phieugiaobao['phieugiaobaoid']."'";
		$this->db->updateData("dlm_phieugiaobao",$field,$value,$where);
	}	
			
	public function delete($phieugiaobaoid)
	{
		$phieugiaobaoid=$this->db->escape(@$phieugiaobaoid);
		//$where="phieugiaobaoid = '".$phieugiaobaoid."'";
		//$this->db->deleteData('dlm_phieugiaobao',$where);
		$field=array(
						
						'trangthai'
					);
		$value=array(
						
						'deleted'
					);
					
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							  'ngaythaotac'=>$this->date->getToday(),
							  'chucnang'=>"Lập phiếu giao báo",
							  'hanhdong'=>"Xóa phiếu giao báo và chi tiết phiếu",
							  'csdl'=>"dlm_phieugiaobao[".$phieugiaobaoid."]",
							  'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							  'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							  'tennhanvien'=>$this->user->getNhanVien('hoten'),
							  'truongdulieu'=>"trangthai",
							  'dulieucu'=>"",
							  'dulieumoi'=>"deleted"
					  );
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
					
		$where="phieugiaobaoid = '".$phieugiaobaoid."'";
		$this->db->updateData("dlm_phieugiaobao",$field,$value,$where);
		$this->db->updateData("dlm_chitietphieugiaobao",$field,$value,$where);
	}
	
	public function deletes($data)
	{
		foreach($data as $phieugiaobaoid)
		{
			$this->delete($phieugiaobaoid);
		}		
	}
	
	//chi tiet phieu phat hanh
	
	public function getChiTietPhieuGiaoBao($id)
	{
		$sql = "Select * 
						from `dlm_chitietphieugiaobao` 
						where id ='".$id."'";
		$query = $this->db->query($sql);
		return $query->row;	
	}
	
	public function getChiTietPhieuGiaoBaoList($where)
	{
		$sql = "Select `dlm_chitietphieugiaobao`.* 
									from `dlm_chitietphieugiaobao` 
									where trangthai <> 'deleted' " . $where ;
		
		$query = $this->db->query($sql);
		return $query->rows;
	}
	
	public function saveChiTietPhieuGiaoBao($data)
	{
		$id=(int)@$data['id'];
		$phieugiaobaoid=$this->db->escape(@$data['phieugiaobaoid']);
		$kybaoid=$this->db->escape(@$data['kybaoid']);
		$sokybao=$this->db->escape(@$data['sokybao']);
		$tenkybao=$this->db->escape(@$data['tenkybao']);
		$loaibaoid=$this->db->escape(@$data['loaibaoid']);
		$tenloaibao=$this->db->escape(@$data['tenloaibao']);
		$ngayphathanh=$this->db->escape(@$data['ngayphathanh']);
		$soluong=$this->db->escape(@$this->string->toNumber($data['soluong']));
		
		$phieugiaobao = $this->getItem($phieugiaobaoid);
		$ngaylap = $phieugiaobao['ngaylap'];
		$nhanvienquanlyid = $phieugiaobao['nhanvienquanlyid'];
		$nhanviengiaobaoid = $phieugiaobao['nhanviengiaobaoid'];
		$khuvucgiaoid = $phieugiaobao['khuvucgiaoid'];
		
		$field=array(
						'phieugiaobaoid',
						'kybaoid',
						
						'ngaylap',
						'nhanvienquanlyid',
						'nhanviengiaobaoid',
						'khuvucgiaoid',
						'sokybao',
						'tenkybao',
						'loaibaoid',
						'tenloaibao',
						'ngayphathanh',
						'soluong'
					);
		$value=array(
						$phieugiaobaoid,
						$kybaoid,
						
						$ngaylap,
						$nhanvienquanlyid,
						$nhanviengiaobaoid,
						$khuvucgiaoid,
						$sokybao,
						$tenkybao,
						$loaibaoid,
						$tenloaibao,
						$ngayphathanh,
						$soluong
					);
					
		if($id==0)
		{			
			$this->db->insertData("dlm_chitietphieugiaobao",$field,$value);
			$id = $this->db->getLastId();
			
			//nhthoai: cập nhật
			//Ghi nhật ký hệ thống: bắt đầu
			$nkht = array(
								  'ngaythaotac'=>$this->date->getToday(),
								  'chucnang'=>"Lập phiếu giao báo",
								  'hanhdong'=>"Thêm chi tiết phiếu giao báo",
								  'csdl'=>"dlm_chitietphieugiaobao[".$id."]",
								  'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
								  'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
								  'tennhanvien'=>$this->user->getNhanVien('hoten'),
								  'truongdulieu'=>"id",
								  'dulieucu'=>"",
								  'dulieumoi'=>$id
						  );
			$this->load->model('deliman/nhatkyhethong');
			$this->model_deliman_nhatkyhethong->insert($nkht);
			//Ghi nhật ký hệ thống: kết thúc
		}
		else
		{
			//nhthoai: cập nhật
			//Ghi nhật ký hệ thống: bắt đầu
			$ctpgb = $this->getChiTietPhieuGiaoBao($id);
			if($ctpgb['soluong'] != $soluong)
			{
				$nkht = array(
									  'ngaythaotac'=>$this->date->getToday(),
									  'chucnang'=>"Lập kế hoạch phân phối báo",
									  'hanhdong'=>"Sửa chi tiết phiếu phân phối",
									  'csdl'=>"dlm_chitietphieuphanphoi[".$id."]",
									  'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
									  'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
									  'tennhanvien'=>$this->user->getNhanVien('hoten'),
									  'truongdulieu'=>"soluong",
									  'dulieucu'=>$ctpgb['soluong'],
									  'dulieumoi'=>$soluong
							  );
				$this->load->model('deliman/nhatkyhethong');
				$this->model_deliman_nhatkyhethong->insert($nkht);
			}
			//Ghi nhật ký hệ thống: kết thúc
			
			$where="id = '".$id."'";
			$this->db->updateData('dlm_chitietphieugiaobao',$field,$value,$where);
		}
		return $id;
	}
	
	public function updateChiTietPhieuGiaoBao($id,$col,$val)
	{
		$id = $this->db->escape(@$id);
		$col=$this->db->escape(@$col);
		$val=$this->db->escape(@$val);
		
		$field=array(
						$col
						
					);
		$value=array(
						$val
					);
		
		$where="id = '".$id."'";
		$this->db->updateData('dlm_chitietphieugiaobao',$field,$value,$where);
	}
	
	public function deleteChiTietPhieuGiaoBao($id)
	{
		$id = $this->db->escape(@$id);		
		$where="id = '".$id."'";
		$this->db->deleteData('dlm_chitietphieugiaobao',$where);
		
	}	
}
?>